package org.example.aaaatest.A01;

/**
 * @description:
 * @author: wangbaogui
 * @create: 2025/3/27 10:21
 **/
/*
给定一个长度为 n 的整数数组 height 。有 n 条垂线，第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线，使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明：你不能倾斜容器。

示例 1：

输入：[1,8,6,2,5,4,8,3,7]
输出：49
解释：图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下，容器能够容纳水（表示为蓝色部分）的最大值为 49。
示例 2：

输入：height = [1,1]
输出：1

 */
public class A25 {
    public static void main(String[] args) {
        int [] arr = {1,1};
        int i = maxArea(arr);
        System.out.println("i = " + i);
    }

    public static int maxArea(int[] height) {
        int max = 0;
        int left = 0 ,right = height.length-1;
        while (left<right){
            int i = right - left;
            int min = Math.min(height[left],height[right]);
            if(min*i > max){
                max = min*i;
            }else if(height[right]>height[left]){
                left++;
            }else {
                right--;
            }
        }

        return max;
    }
}
